using System;
using System.Collections.Generic;

namespace CMS.Core.Domain
{
    /// <summary>
    /// BaiVietTheLoai object for NHibernate mapped table BaiVietTheLoai.
    /// </summary>
    [Serializable]
    public class BaiVietTheLoai : DomainObject<System.Int32>
    {
        private System.String _TenTheLoai;
        private System.Byte _ThuTu;
        private System.Boolean _TrangThai;
        private System.Int32 _TLCha;
        private BaiVietTheLoai _TheLoaiCha;
        private ChucNang _ChucNangLookup;
        private IList<BaiViet> _BaiViets = new List<BaiViet>();

        public BaiVietTheLoai()
        {
        }

        public BaiVietTheLoai(System.Int32 id)
        {
            base.ID = id;
        }

        public virtual System.String TenTheLoai
        {
            get { return _TenTheLoai; }
            set { _TenTheLoai = value; }
        }

        public virtual System.Int32 TLCha
        {
            get { return _TLCha; }
            set { _TLCha = value; }
        }

        public virtual System.Byte ThuTu
        {
            get { return _ThuTu; }
            set { _ThuTu = value; }
        }
        
        public virtual System.Boolean TrangThai
        {
            get { return _TrangThai; }
            set { _TrangThai = value; }
        }

        public virtual IList<BaiViet> BaiViets
        {
            get { return _BaiViets; }
            set { _BaiViets = value; }
        }

        public virtual BaiVietTheLoai TheLoaiCha
        {
            get { return _TheLoaiCha; }
            set { _TheLoaiCha = value; }
        }

        public virtual ChucNang ChucNangLookup
        {
            get { return _ChucNangLookup; }
            set { _ChucNangLookup = value; }
        }

        public override int GetHashCode()
        {
            return ID.GetHashCode();
        }

    }
}
